package j06lamdda;

interface Icook{
    void cook(String name,int num);
}
//当接口方法中，只有一个参数，小括号可省略
interface ICook2{
    void f1(int a);
}

public class J2jianxie {
    public static void main(String[] args) {
        Icook icook1 = (name,num)->{
            System.out.println(name+num);
        };
        icook1.cook("胡萝卜",3);

        ICook2 iCook2 = a->{
            System.out.println(a);
        };
        iCook2.f1(45);
        System.out.println("=========");
        //如果方法体只有一行代码，花括号可省略
        ICook2 iCook21 = a-> System.out.println(a*2);
        iCook21.f1(4);//8

    }
}
//方法体只有一行代码，并且有返回值的时候，
// 可以把表达式作为返回值，并且省略return
interface I100{
    int by2(int num);
}
class I100Test{
    public static void main(String[] args) {
        I100 i100 = num->{
            return num*2;
        };

        I100 i1000 = num->num*2;
        System.out.println(i1000.by2(3));//6
    }
}